package com.pap.product.product.auto.entity;

import java.io.Serializable;

import com.pap.base.entity.PapBaseEntity;
import com.pap.base.mybatis.plugin.annotation.MyBatisColumnAnnotation;
import com.pap.base.mybatis.plugin.annotation.MyBatisTableAnnotation;

@MyBatisTableAnnotation(name = "t_product_product", namespace = "com.pap.product.product.auto.mapper.ProductMapper", remarks = " 修改点 ", aliasName = "t_product_product t_product_product")
public class Product extends PapBaseEntity implements Serializable {
	/**
	 * 编码,所属表字段为t_product_product.CODE
	 */
	@MyBatisColumnAnnotation(name = "CODE", value = "t_product_product_CODE", chineseNote = "编码", tableAlias = "t_product_product")
	private String code;

	/**
	 * 名称,所属表字段为t_product_product.NAME
	 */
	@MyBatisColumnAnnotation(name = "NAME", value = "t_product_product_NAME", chineseNote = "名称", tableAlias = "t_product_product")
	private String name;

	/**
	 * 客户类型,所属表字段为t_product_product.CUSTOMER_TYPE
	 */
	@MyBatisColumnAnnotation(name = "CUSTOMER_TYPE", value = "t_product_product_CUSTOMER_TYPE", chineseNote = "客户类型", tableAlias = "t_product_product")
	private String customerType;

	/**
	 * 还款频率,所属表字段为t_product_product.PAY_FREQ
	 */
	@MyBatisColumnAnnotation(name = "PAY_FREQ", value = "t_product_product_PAY_FREQ", chineseNote = "还款频率", tableAlias = "t_product_product")
	private String payFreq;

	/**
	 * 租赁类型,所属表字段为t_product_product.LEASE_TYPE
	 */
	@MyBatisColumnAnnotation(name = "LEASE_TYPE", value = "t_product_product_LEASE_TYPE", chineseNote = "租赁类型", tableAlias = "t_product_product")
	private String leaseType;

	/**
	 * 还款方式,所属表字段为t_product_product.REPAY_TYPE
	 */
	@MyBatisColumnAnnotation(name = "REPAY_TYPE", value = "t_product_product_REPAY_TYPE", chineseNote = "还款方式", tableAlias = "t_product_product")
	private String repayType;

	/**
	 * 首付比例,所属表字段为t_product_product.FIRST_RATE_TYPE
	 */
	@MyBatisColumnAnnotation(name = "FIRST_RATE_TYPE", value = "t_product_product_FIRST_RATE_TYPE", chineseNote = "首付比例", tableAlias = "t_product_product")
	private String firstRateType;

	/**
	 * 新车旧车,所属表字段为t_product_product.CAR_USED_TYPE
	 */
	@MyBatisColumnAnnotation(name = "CAR_USED_TYPE", value = "t_product_product_CAR_USED_TYPE", chineseNote = "新车旧车", tableAlias = "t_product_product")
	private String carUsedType;

	/**
	 * 融资期限,所属表字段为t_product_product.FIN_MONTH_TYPE
	 */
	@MyBatisColumnAnnotation(name = "FIN_MONTH_TYPE", value = "t_product_product_FIN_MONTH_TYPE", chineseNote = "融资期限", tableAlias = "t_product_product")
	private String finMonthType;

	/**
	 * 状态,所属表字段为t_product_product.STATUS_FLAG
	 */
	@MyBatisColumnAnnotation(name = "STATUS_FLAG", value = "t_product_product_STATUS_FLAG", chineseNote = "状态", tableAlias = "t_product_product")
	private String statusFlag;

	private static final long serialVersionUID = 1L;

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getCustomerType() {
		return customerType;
	}

	public void setCustomerType(String customerType) {
		this.customerType = customerType;
	}

	public String getPayFreq() {
		return payFreq;
	}

	public void setPayFreq(String payFreq) {
		this.payFreq = payFreq;
	}

	public String getLeaseType() {
		return leaseType;
	}

	public void setLeaseType(String leaseType) {
		this.leaseType = leaseType;
	}

	public String getRepayType() {
		return repayType;
	}

	public void setRepayType(String repayType) {
		this.repayType = repayType;
	}

	public String getFirstRateType() {
		return firstRateType;
	}

	public void setFirstRateType(String firstRateType) {
		this.firstRateType = firstRateType;
	}

	public String getCarUsedType() {
		return carUsedType;
	}

	public void setCarUsedType(String carUsedType) {
		this.carUsedType = carUsedType;
	}

	public String getFinMonthType() {
		return finMonthType;
	}

	public void setFinMonthType(String finMonthType) {
		this.finMonthType = finMonthType;
	}

	public String getStatusFlag() {
		return statusFlag;
	}

	public void setStatusFlag(String statusFlag) {
		this.statusFlag = statusFlag;
	}
	
	@Override
	public String getDynamicTableName() {
		return "t_product_product";
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", code=").append(code);
		sb.append(", name=").append(name);
		sb.append(", customerType=").append(customerType);
		sb.append(", payFreq=").append(payFreq);
		sb.append(", leaseType=").append(leaseType);
		sb.append(", repayType=").append(repayType);
		sb.append(", firstRateType=").append(firstRateType);
		sb.append(", carUsedType=").append(carUsedType);
		sb.append(", finMonthType=").append(finMonthType);
		sb.append(", statusFlag=").append(statusFlag);
		sb.append("]");
		return sb.toString();
	}
}